home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 3_0 / JOVE_4 / JOVEDOCS / JOVE.4 < prev    next >
Text File  |  1988-05-07  |  43KB  |  878 lines

  1. .bp
  2. .NH 1
  3. Alphabetical List of Commands and Variables
  4. .dc "prefix-1" "Escape"
  5. This reads the next character and runs a command based on the character
  6. typed.  If you wait for more than a second or so before typing the next
  7. character, the message "ESC" will be printed on the message line to
  8. remind you that \s-2JOVE\s0 is waiting for another character.
  9. .dc "prefix-2" "C-X"
  10. This reads the next character and runs a command based on the character
  11. typed.  If you wait for more than a second or so before typing another
  12. character, the message "C-X" will be printed on the message line to
  13. remind you that \s-2JOVE\s0 is waiting for another character.
  14. .dc "prefix-3" "Not Bound"
  15. This reads the next character and runs a command based on the character
  16. typed.  If you wait for more than a second or so before typing the next
  17. character, the character that invoked Prefix-3 will be printed on the
  18. message line to remind you that \s-2JOVE\s0 is waiting for another one.
  19. .dc "abort-char" "(variable)"
  20. This variable defines \s-2JOVE'S\s0 abort characer.  When the abort
  21. character is typed, the current \s-2JOVE\s0 command is aborted.  The
  22. default value is C-G.
  23. .dc "add-lisp-special" "Not Bound"
  24. This command is to tell \s-2JOVE\s0 what identifiers require special
  25. indentation in lisp mode.  Lisp functions like defun and let are two of
  26. the default functions that get treated specially.  This is just a kludge
  27. to define some of your own.  It prompts for the function name.
  28. .dc "allow-^S-and-^Q" "(variable)"
  29. This variable, when set, tells \s-2JOVE\s0 that your terminal does not need
  30. to use the characters C-S and C-Q for flow control, and that it is
  31. okay to bind things to them.  This variable should be set depending
  32. upon what kind of terminal you have.
  33. .dc "allow-bad-filenames" "(variable)"
  34. If set, this variable permits filenames to contain "bad" characters
  35. such as those from the set *&%!"`[]{}.  These files are harder to deal
  36. with, because the characters mean something to the shell.  The default
  37. value is "off".
  38. .dc "ansi-codes" "Not Bound"
  39. When bound to "ESC [" this makes the arrow keys, and various other keys
  40. on vt100-like terminals do the right thing.  For example, the up arrow
  41. key will move to the previous line.
  42. .dc "append-region" "Not Bound"
  43. This appends the region to a specified file.  If the file does not
  44. already exist it is created.
  45. .dc "apropos" "Not Bound"
  46. This types out all the commands, variables and macros with the specific
  47. keyword in their names.  For each command and macro that contains the
  48. string, the key sequence that can be used to execute the command or macro is
  49. printed; with variables, the current value is printed.  So, to find all the
  50. commands that are related to windows, you type
  51. .DS
  52. ESC X apropos window<Return>
  53. .DE
  54. .dc "auto-case-abbrev" "(variable)"
  55. When this variable is on (the default), word abbreviations are adjusted for
  56. case automatically.  For example, if "jove" were the abbreviation for
  57. "jonathan's own version of emacs", then typing "jove" would give you
  58. "jonathan's own version of emacs", typing "Jove" would give you "Jonathan's
  59. own version of emacs", and typing "JOVE" would give you "Jonathan's Own
  60. Version of Emacs".  When this variable is "off", upper and lower case are
  61. distinguished when looking for the abbreviation, i.e., in the example above,
  62. "JOVE" and "Jove" would not be expanded unless they were defined separately.
  63. .dc "auto-execute-command" "Not Bound"
  64. This tells \s-2JOVE\s0 to execute a command automatically when a file whose
  65. name matches a specified pattern is visited.  The first argument is the
  66. command you want executed and the second is a regular expression
  67. pattern that specifies the files that apply.  For example, if you want
  68. to be in show-match-mode when you edit C source files (that is, files
  69. that end with ".c" or ".h") you can type
  70. .ID
  71. ESC X auto-execute-command show-match-mode .*\.[ch]$
  72. .DE
  73. .dc "auto-execute-macro" "Not Bound"
  74. This is like
  75. .IQ auto-execute-command
  76. except you use it to execute macros
  77. automatically instead of built-in commands.
  78. .dc "auto-fill-mode" "Not Bound"
  79. This turns on Auto Fill mode (or off if it's currently on) in the
  80. selected buffer.  When \s-2JOVE\s0 is in Auto Fill mode it automatically
  81. breaks lines for you when you reach the right margin so you don't have
  82. to remember to hit Return.  \s-2JOVE\s0 uses 78 as the right margin but you
  83. can change that by setting the variable
  84. .IQ right-margin
  85. to another
  86. value.  See the
  87. .IQ set
  88. command to learn how to do this.
  89. .dc "auto-indent-mode" "Not Bound"
  90. This turns on Auto Indent mode (or off if it's currently on) in the
  91. selected buffer.  When \s-2JOVE\s0 is in Auto Indent mode, Return indents the
  92. new line to the same position as the line you were just on.  This is
  93. useful for lining up C code (or any other language (but what else is
  94. there besides C?)).  This is out of date because of the new command
  95. called
  96. .IQ newline-and-indent
  97. but it remains because of several
  98. "requests" on the part of, uh, enthusiastic and excitable users, that
  99. it be left as it is.
  100. .dc "background-color" "(variable)"
  101. This specifies the background color of the screen (PC version only).  The
  102. default value is 0, which stands for black.
  103. .dc "backward-character" "C-B"
  104. This moves point backward over a single character.  If point is at the
  105. beginning of the line it moves to the end of the previous line.
  106. .dc "backward-list" "ESC C-P"
  107. This moves backward over a list as opposed to an s-expression.  The
  108. difference between this and
  109. .IQ backward-s-expression
  110. is that this first searchs for a ")" and then moves to the matching "(".
  111. This is useful when you're trying to find unmatched parens in a program.
  112. .dc "backward-paragraph" "ESC ["
  113. This moves point backward to the beginning of the current or previous
  114. paragraph.  Paragraphs are bounded by lines that begin with a Period or
  115. Tab, or by blank lines; a change in indentation may also signal a break
  116. between paragraphs, except that \s-2JOVE\s0 allows the first line of a paragraph
  117. to be indented differently from the other lines.
  118. .dc "backward-s-expression" "ESC C-B"
  119. This moves point backward over a s-expression.  It is just like
  120. .IQ forward-s-expression
  121. with a negative argument.
  122. .dc "backward-sentence" "ESC A"
  123. This moves point backward to the beginning of the current or previous
  124. sentence.  \s-2JOVE\s0 considers the end of a sentence to be the characters
  125. ".", "!" or "?" followed by a Return or by one or more spaces.
  126. .dc "backward-up-list" "ESC C-U"
  127. This is similar to
  128. .IQ backward-s-expression
  129. except it backs up and OUT of the enclosing s-expression.  In other
  130. words, it moves backward to the "(" that would match a ")" if you were to
  131. type it right then.
  132. .dc "backward-word" "ESC B"
  133. This moves point backward to the beginning of the current or previous
  134. word.
  135. .dc "bad-filename-extensions" "(variable)"
  136. This contains a list of words separated by spaces which are to be
  137. considered bad filename extensions, and so will not be counted in
  138. filename completion.  The default is ".o" so if you have jove.c and
  139. jove.o in the same directory, the filename completion will not complain
  140. of an ambiguity because it will ignore jove.o.
  141. .dc "begin-kbd-macro" "C-X ("
  142. This starts defining the keyboard macro by remembering all your key
  143. strokes until you execute
  144. .IQ end-kbd-macro,
  145. by typing "C-X )".  Because of a bug in \s-2JOVE\s0 you shouldn't
  146. terminate the macro by typing "ESC X end-kbd-macro";
  147. .IQ end-kbd-macro
  148. must be bound to "C-X )" in order to make things work correctly.  To
  149. execute the remembered key strokes you type "C-X E" which runs the
  150. .IQ execute-kbd-macro
  151. command.
  152. Sometimes you may want a macro to accept different input each time it runs.
  153. To see how to do this, see the
  154. .IQ make-macro-interactive
  155. command.
  156. .dc "beginning-of-file" "ESC <"
  157. This moves point backward to the beginning of the buffer.  This sometimes
  158. prints the "Point Pushed" message.  If the top of the buffer isn't on the
  159. screen \s-2JOVE\s0 will set the mark so you can go back to where you were
  160. if you want.
  161. .dc "beginning-of-line" "C-A"
  162. This moves point to the beginning of the current line.
  163. .dc "beginning-of-window" "ESC ,"
  164. This moves point to the beginning of the current window.  The sequence
  165. "ESC ," is the same as "ESC <" (beginning of file) except without the shift
  166. key on the "<", and can thus can easily be remembered.
  167. .dc "bind-macro-to-key" "Not Bound"
  168. This is like
  169. .IQ bind-to-key
  170. except you use it to attach keys to named macros.
  171. .dc "bind-macro-to-word-abbrev" "Not Bound"
  172. This command allows you to bind a macro to a previously defined word
  173. abbreviation.  Whenever you type the abbreviation, it will first be expanded
  174. as an abbreviation, and then the macro will be executed.  Note that if the
  175. macro moves around, you should set the mark first (C-@) and then exchange
  176. the point and mark last (C-X C-X).
  177. .dc "bind-to-key" "Not Bound"
  178. This attaches a key to an internal \s-2JOVE\s0 command so that future hits on
  179. that key invoke that command.  For example, to make "C-W" erase the
  180. previous word, you type "ESC X bind-to-key kill-previous-word C-W".
  181. .dc "buffer-position" "Not Bound"
  182. This displays the current file name, current line number, total number
  183. of lines, percentage of the way through the file, and the position of
  184. the cursor in the current line.
  185. .dc "c-indentation-increment" "(variable)"
  186. This variable is not currently used.
  187. .dc "c-mode" "Not Bound"
  188. This turns on C mode in the currently selected buffer.  This is one of
  189. currently four possible major modes:  Fundamental, Text, C, Lisp.
  190. When in C or Lisp mode, Tab, "}", and ")" behave a little differently
  191. from usual: They are indented to the "right" place for C (or Lisp)
  192. programs.  In \s-2JOVE\s0, the "right" place is simply the way the author
  193. likes it (but I've got good taste).
  194. .dc "case-character-capitalize" "Not Bound"
  195. This capitalizes the character after point, i.e., the character under
  196. the cursor.  If a negative argument is supplied that many characters
  197. .IQ before
  198. point are upper cased.
  199. .dc "case-ignore-search" "(variable)"
  200. This variable, when set, tells \s-2JOVE\s0 to treat upper and lower case as
  201. the same when searching.  Thus "jove" and "JOVE" would match, and
  202. "JoVe" would match either.  The default value of this variable is "off".
  203. .dc "case-region-lower" "Not Bound"
  204. This changes all the upper case letters in the region to their lower
  205. case equivalent.
  206. .dc "case-region-upper" "Not Bound"
  207. This changes all the lower case letters in the region to their upper
  208. case equivalent.
  209. .dc "case-word-capitalize" "ESC C"
  210. This capitalizes the current word by making the current letter upper
  211. case and making the rest of the word lower case.  Point is moved to
  212. the end of the word.  If point is not positioned on a word it is first
  213. moved forward to the beginning of the next word.  If a negative
  214. argument is supplied that many words
  215. .IQ before
  216. point are capitalized.
  217. This is useful for correcting the word just typed without having to
  218. move point to the beginning of the word yourself.
  219. .dc "case-word-lower" "ESC L"
  220. This lower-cases the current word and leaves point at the end of it.
  221. If point is in the middle of a word the rest of the word is
  222. converted.  If point is not in a word it is first moved forward to the
  223. beginning of the next word.  If a negative argument is supplied that
  224. many words
  225. .IQ before
  226. point are converted to lower case.  This is useful
  227. for correcting the word just typed without having to move point to the
  228. beginning of the word yourself.
  229. .dc "case-word-upper" "ESC U"
  230. This upper-cases the current word and leaves point at the end of it.
  231. If point is in the middle of a word the rest of the word is
  232. converted.  If point is not in a word it is first moved forward to the
  233. beginning of the next word.  If a negative argument is supplied that
  234. many words
  235. .IQ before
  236. point are converted to upper case.  This is useful
  237. for correcting the word just typed without having to move point to the
  238. beginning of the word yourself.
  239. .dc "cd" "Not Bound"
  240. This changes the current directory.
  241. .dc "character-to-octal-insert" "Not Bound"
  242. This inserts a Back-slash followed by the ascii value of the next
  243. character typed.  For example, "C-G" inserts the string "\\007".
  244. .dc "clear-and-redraw" "ESC C-L"
  245. This clears the entire screen and redraws all the windows.  Use this
  246. when \s-2JOVE\s0 gets confused about what's on the screen, or when the screen
  247. gets filled with garbage characters or output from another program.
  248. .dc "comment-format" "(variable)"
  249. This variable tells \s-2JOVE\s0 how to format your comments when you run the
  250. command
  251. .IQ fill-comment.
  252. Its format is this:
  253. .ID
  254. <open pattern>%!<line header>%c<line trailer>%!<close pattern>
  255. .DE
  256. The %!, %c, and %! must appear in the format; everything else is optional.
  257. A newline (represented by %n) may appear in the open or close patterns.  %%
  258. is the representation for %.  The default comment format is for C comments.
  259. See
  260. .IQ fill-comment
  261. for more.
  262. .dc "compile-it" "C-X C-E"
  263. This compiles your program by running the UNIX command "make" into a buffer,
  264. and automatically parsing the error messages that are created (if any).  See
  265. the
  266. .IQ parse-errors
  267. command.  To compile a C program without "make", use "C-U C-X C-E" and
  268. \s-2JOVE\s0 will prompt for a command to run instead of make.  (And then
  269. the command you type will become the default command.)  You can use this
  270. to parse the output from the C compiler or the "grep" or "lint" programs.
  271. See also
  272. .IQ error-format-string
  273. to make it possible to parse errors of a different format.
  274. .dc "continue-process" "Not Bound"
  275. This sends SIGCONT to the current interactive process,
  276. .IQ if
  277. the process
  278. is currently stopped.
  279. .dc "copy-region" "ESC W"
  280. This takes all the text in the region and copies it onto the kill ring
  281. buffer.  This is just like running
  282. .IQ kill-region
  283. followed by the
  284. .IQ yank
  285. command.  See the
  286. .IQ kill-region
  287. and
  288. .IQ yank
  289. commands.
  290. .dc "current-error" "Not Bound"
  291. This moves to the current error in the list of parsed errors.  See the
  292. .IQ next-error
  293. and
  294. .IQ previous-error
  295. commands for more detailed
  296. information.
  297. .dc "date" "Not Bound"
  298. This prints the date on the message line.
  299. .dc "define-global-word-abbrev" "Not Bound"
  300. This defines a global abbreviation.
  301. .dc "define-macro" "Not Bound"
  302. This provides a different mechanism for defining keyboard macros.
  303. Instead of gathering keystrokes and storing them into the
  304. "keyboard-macro" (which is how
  305. .IQ start-kbd-macro
  306. works),
  307. .IQ define-macro
  308. prompts for a macro name (terminated with Space, or Newline) and then for
  309. the actual macro body.  If you wish to specify control characters in the
  310. macro, you may simply insert them (using the
  311. .IQ quoted-insert
  312. command) or by inserting the character '^' followed by the appropriate
  313. letter for that character (e.g., ^A would be the two characters '^'
  314. followed by 'A').  You may use Back-slash to prevent the '^' from being
  315. interpreted as part of a control character when you really wish to insert
  316. one (e.g., a macro body "\\^foo" would insert the string "^foo" into the
  317. buffer, whereas the body "^foo" would be the same as typing ^F and then
  318. inserting the string "oo").  See
  319. .IQ write-macros-to-file
  320. to see how to save macros.
  321. .dc "define-mode-word-abbrev" "Not Bound"
  322. This defines a mode-specific abbreviation.
  323. .dc "delete-blank-lines" "C-X C-O"
  324. This deletes all the blank lines around point.  This is useful when you
  325. previously opened many lines with "C-O" and now wish to delete the
  326. unused ones.
  327. .dc "delete-buffer" "C-X K"
  328. This deletes a buffer and frees up all the memory associated with it.  Be
  329. careful(!) - once a buffer has been deleted it is gone forever.  \s-2JOVE\s0
  330. will ask you to confirm if you try to delete a buffer that needs saving.
  331. This command is useful for when \s-2JOVE\s0 runs out of space to store
  332. new buffers.
  333. .dc "delete-current-window" "C-X D"
  334. This deletes the current window and moves point into one of the
  335. remaining ones.  It is an error to try to delete the only remaining
  336. window.
  337. .dc "delete-macro" "Not Bound"
  338. This deletes a macro from the list of named macros.  It is an error to
  339. delete the keyboard-macro.  Once the macro is deleted it is gone forever.
  340. If you are about to save macros to a file and decide you don't want to save
  341. a particular one, delete it.
  342. .dc "delete-next-character" "C-D"
  343. This deletes the character that's just after point (that is, the
  344. character under the cursor).  If point is at the end of a line, the
  345. line separator is deleted and the next line is joined with the current
  346. one.
  347. .dc "delete-other-windows" "C-X 1"
  348. This deletes all the other windows except the current one.  This can be
  349. thought of as going back into One Window mode.
  350. .dc "delete-previous-character" "Rubout"
  351. This deletes the character that's just before point (that is, the
  352. character before the cursor).  If point is at the beginning of the
  353. line, the line separator is deleted and that line is joined with the
  354. previous one.
  355. .dc "delete-white-space" "ESC \\\\"
  356. This deletes all the Tabs and Spaces around point.
  357. .dc "describe-bindings" "Not Bound"
  358. This types out a list containing each bound key and the command that gets
  359. invoked every time that key is typed.  To make a wall chart of \s-2JOVE\s0
  360. commands, set
  361. .IQ send-typeout-to-buffer
  362. to "on" and \s-2JOVE\s0 will
  363. store the key bindings in a buffer which you can save to a file and then
  364. print.
  365. .dc "describe-command" "Not Bound"
  366. This prints some info on a specified command.
  367. .dc "describe-key" "Not Bound"
  368. This waits for you to type a key and then tells the name of the
  369. command that gets invoked every time that key is hit.  Once you have
  370. the name of the command you can use the
  371. .IQ describe-command
  372. command
  373. to find out exactly what it does.
  374. .dc "describe-variable" "Not Bound"
  375. This prints some info on a specified variable.
  376. .dc "digit" "ESC [0-9]"
  377. This reads a numeric argument.  When you type "ESC" followed by a
  378. number, "digit" keeps reading numbers until you type some other
  379. command.  Then that command is executes with the numeric argument you
  380. specified.
  381. .dc "digit-1" "Not Bound"
  382. This pretends you typed "ESC 1".  This is useful for terminals that
  383. have keypads that send special sequences for numbers typed on the
  384. keypad as opposed to numbers typed from the keyboard.  This can save
  385. having type "ESC" when you want to specify an argument.
  386. .dc "digit-2" "Not Bound"
  387. This pretends you typed "ESC 2".  This is useful for terminals that
  388. have keypads that send special sequences for numbers typed on the
  389. keypad as opposed to numbers typed from the keyboard.  This can save
  390. having type "ESC" when you want to specify an argument.
  391. .dc "digit-3" "Not Bound"
  392. This pretends you typed "ESC 3".  This is useful for terminals that
  393. have keypads that send special sequences for numbers typed on the
  394. keypad as opposed to numbers typed from the keyboard.  This can save
  395. having type "ESC" when you want to specify an argument.
  396. .dc "digit-4" "Not Bound"
  397. This pretends you typed "ESC 4".  This is useful for terminals that
  398. have keypads that send special sequences for numbers typed on the
  399. keypad as opposed to numbers typed from the keyboard.  This can save
  400. having type "ESC" when you want to specify an argument.
  401. .dc "digit-5" "Not Bound"
  402. This pretends you typed "ESC 5".  This is useful for terminals that
  403. have keypads that send special sequences for numbers typed on the
  404. keypad as opposed to numbers typed from the keyboard.  This can save
  405. having type "ESC" when you want to specify an argument.
  406. .dc "digit-6" "Not Bound"
  407. This pretends you typed "ESC 6".  This is useful for terminals that
  408. have keypads that send special sequences for numbers typed on the
  409. keypad as opposed to numbers typed from the keyboard.  This can save
  410. having type "ESC" when you want to specify an argument.
  411. .dc "digit-7" "Not Bound"
  412. This pretends you typed "ESC 7".  This is useful for terminals that
  413. have keypads that send special sequences for numbers typed on the
  414. keypad as opposed to numbers typed from the keyboard.  This can save
  415. having type "ESC" when you want to specify an argument.
  416. .dc "digit-8" "Not Bound"
  417. This pretends you typed "ESC 8".  This is useful for terminals that
  418. have keypads that send special sequences for numbers typed on the
  419. keypad as opposed to numbers typed from the keyboard.  This can save
  420. having type "ESC" when you want to specify an argument.
  421. .dc "digit-9" "Not Bound"
  422. This pretends you typed "ESC 9".  This is useful for terminals that
  423. have keypads that send special sequences for numbers typed on the
  424. keypad as opposed to numbers typed from the keyboard.  This can save
  425. having type "ESC" when you want to specify an argument.
  426. .dc "digit-0" "Not Bound"
  427. This pretends you typed "ESC 0".  This is useful for terminals that
  428. have keypads that send special sequences for numbers typed on the
  429. keypad as opposed to numbers typed from the keyboard.  This can save
  430. having type "ESC" when you want to specify an argument.
  431. .dc "dirs" "Not Bound"
  432. This prints out the directory stack.  See the "cd", "pushd", "popd"
  433. commands for more info.
  434. .dc "disable-biff" "(variable)"
  435. When this is set, \s-2JOVE\s0 disables biff when you're editing and enables it
  436. again when you get out of \s-2JOVE\s0, or when you pause to the parent shell
  437. or push to a new shell. (This means arrival of new mail will not be
  438. immediately apparent but will not cause indiscriminate writing on the
  439. display). The default is "off".
  440. .dc "display-bad-filenames" "(variable)"
  441. This variable affects only filename completion, in particular, what
  442. happens when "?" is typed while prompting for a file.  When this variable
  443. is ON, any files that end with one of the extensions defined by the
  444. variable
  445. .IQ bad-filename-extensions
  446. will be displayed with an "!" in front of their names.  When
  447. .IQ display-bad-filenames
  448. is OFF the files will not be displayed at all.  The default value is on.
  449. .dc "down-list" "ESC C-D"
  450. This is the opposite of
  451. .IQ backward-up-list.
  452. It's not clear to me that this command serves any useful purpose in
  453. life.  Try it out, and let me know what you think.
  454. .dc "dstop-process" "Not Bound"
  455. Send the "dsusp" character to the current process.  This is the
  456. character that suspends a process on the next read from the
  457. terminal.  Most people have it set to C-Y.  This only works if
  458. you have the interactive process feature, and if you are in a
  459. buffer bound to a process.
  460. .dc "edit-word-abbrevs" "Not Bound"
  461. This creates a buffer with a list of each abbreviation and the phrase
  462. it expands into, and enters a recursive edit to let you change the
  463. abbreviations or add some more.  The format of this list is
  464. "abbreviation:phrase" so if you add some more you should follow that
  465. format.  It's probably simplest just to copy some already existing
  466. abbreviations and edit them.  When you are done you type "C-X C-C" to
  467. exit the recursive edit.
  468. .dc "end-kbd-macro" "C-X )"
  469. This stops the definition of the keyboard macro.  Because of a bug in
  470. \s-2JOVE\s0, this must be bound to "C-X )", or some key sequence which is
  471. one or two characters long.  Anything else will not work properly.
  472. .dc "end-of-file" "ESC >"
  473. This moves point forward to the end of the buffer.  This sometimes
  474. prints the "Point Pushed" message.  If the end of the buffer isn't on
  475. the screen \s-2JOVE\s0 will set the mark so you can go back to where you were
  476. if you want.
  477. .dc "end-of-line" "C-E"
  478. This moves point to the end of the current line.  If the line is too
  479. long to fit on the screen \s-2JOVE\s0 will scroll the line to the left to
  480. make the end of the line visible.  The line will slide back to its
  481. normal position when you move backward past the leftmost visible character
  482. or when you move off the line altogether.
  483. .dc "end-of-window" "ESC ."
  484. This moves point to the last character in the window.
  485. .dc "eof-process" "Not Bound"
  486. Sends EOF to the current interactive process.  This only works on
  487. versions of \s-2JOVE\s0 running under versions of UNIX with pty's.
  488. .dc "erase-buffer" "Not Bound"
  489. This erases the contents of the specified buffer.  This is like
  490. .IQ delete-buffer
  491. except it only erases the contents of the buffer, not
  492. the buffer itself.  If you try to erase a buffer that needs saving you
  493. will be asked to confirm it.
  494. .dc "error-format-string" "(variable)"
  495. This is the error format string that is used by
  496. .IQ parse-errors
  497. to find the error messages in a buffer.  The way it works is by using
  498. this string as a \s-2JOVE\s0 regular expression search string, where the
  499. \\('s and \\)'s regular expression operators are used to pick out the
  500. file name and line number from the line containing an error message.  For
  501. instance, a typical error message might look like this:
  502. .sp 1
  503.     "file.c", line 540: missing semi-colon
  504. .sp 1
  505. For strings of this format, an appropriate value for
  506. .IQ error-format-string
  507. would be something like this:
  508. .sp 1
  509.     ^"\\([^"]*\\)", line \\([0-9]*\\):
  510. .sp 1
  511. What this means is, to find an error message, search for a line beginning
  512. with a double-quote.  Then it says that all the following characters up
  513. to another double-quote should be remembered as one unit, namely the
  514. filename that the error is in (that's why the first set of parens are
  515. surrounding it).  Then it says that after the filename there will be the
  516. string ", line " followed by a line number, which should be remembered as
  517. a single unit (which is why the second set of parens is around that).
  518. The only constraints on the error messages is that the file name and line
  519. number appear on the same line, and that the file name appears before the
  520. line number.  Most compilers seem to do this anyway, so this is not an
  521. unreasonable restriction.
  522. .sp 1
  523. If you do not know how to use regular expressions then this variable will
  524. be hard for you to use.  Also note that you can look at the default
  525. value of this variable by printing it out, but it is a really complicated
  526. string because it is trying to accommodate the outputs of more than one
  527. compiler at a time.
  528. .dc "error-window-size" "(variable)"
  529. This is the percentage of the screen to use for the error-window on the
  530. screen.  When you execute
  531. .IQ compile-it,
  532. .IQ error-window-size
  533. percent of the screen will go to the error window.  If the window already
  534. exists and is a different size, it is made to be this size.  The default
  535. value is 20%.
  536. .dc "exchange-point-and-mark" "C-X C-X"
  537. This moves point to mark and makes mark the old point.  This is for
  538. quickly moving from one end of the region to another.
  539. .dc "execute-kbd-macro" "C-X E"
  540. This executes the keyboard macro.  If you supply a numeric argument the
  541. macro is executed that many times.
  542. .dc "execute-macro" "Not Bound"
  543. This executes a specified macro.  If you supply a numeric argument the
  544. macro is executed that many times.
  545. .dc "execute-named-command" "ESC X"
  546. This is the way to execute a command that isn't bound to any key.  When
  547. you are prompted with ": " you can type the name of the command.  You
  548. don't have to type the entire name.  Once the command is unambiguous you
  549. can type Space and \s-2JOVE\s0 will fill in the rest for you.  If you are
  550. not sure of the name of the command, type "?" and \s-2JOVE\s0 will print
  551. a list of all the commands that you could possibly match given what
  552. you've already typed.  If you don't have any idea what the command's name
  553. is but you know it has something to do with windows (for example), you
  554. can do "ESC X apropos window" and \s-2JOVE\s0 will print a list of all
  555. the commands that are related to windows.  If you find yourself
  556. constantly executing the same commands this way you probably want to bind
  557. them to keys so that you can execute them more quickly.  See the
  558. .IQ bind-to-key
  559. command.
  560. .dc "exit-jove" "C-X C-C"
  561. This exits \s-2JOVE\s0.  If any buffers need saving \s-2JOVE\s0 will print a warning
  562. message and ask for confirmation.  If you leave without saving your
  563. buffers all your work will be lost.  If you made a mistake and really
  564. do want to exit then you can.  If you are in a recursive editing level
  565. .IQ exit-jove
  566. will return you from that.
  567. .dc "expand-environment-variables" "Variable"
  568. When this variable is on JOVE will try to expand any strings of the form
  569. "$var" into the value of the environment variable "var" when in the
  570. minibuffer.  For example, if you type $HOME/.joverc, "$HOME" will be
  571. replaced with you home directory.  The default value is off.
  572. .dc "file-creation-mode" "(variable)"
  573. This variable has an octal value.  It contains the mode (see
  574. .IQ chmod(1)
  575. ) with which files should be created.  This mode gets modified by your
  576. current umask setting (see
  577. .IQ umask(1)
  578. ).  The default value is usually
  579. .IQ 0666
  580. or
  581. .IQ 0644.
  582. .dc "files-should-end-with-newline" "(variable)"
  583. This variable indicates that all files should always have a newline
  584. at the end.  This is often necessary for line printers and the like.
  585. When set, if \s-2JOVE\s0 is writing a file whose last character is not a
  586. newline, it will add one automatically.
  587. .dc "fill-comment" "Not Bound"
  588. This command fills in your C comments to make them pretty and readable.
  589. This filling is done according the variable
  590. .IQ comment-format.
  591. .DS L
  592. /*
  593.  * the default format makes comments like this.
  594.  */
  595. .DE
  596. This can be changed by changing the format variable.  Other languages
  597. may be supported by changing the format variable appropriately.  The
  598. formatter looks backwards from dot for an open comment symbol.  If 
  599. found, all indentation is done relative the position of the first character
  600. of the open symbol.  If there is a matching close symbol, the entire 
  601. comment is formatted.  If not, the region between dot and the open symbol
  602. is reformatted.
  603. .dc "fill-paragraph" "ESC J"
  604. This rearranges words between lines so that all the lines in the current
  605. paragraph extend as close to the right margin as possible, ensuring that
  606. none of the lines will be greater than the right margin.  The default value
  607. for
  608. .IQ right-margin
  609. is 78, but can be changed with the
  610. .IQ set
  611. and
  612. .IQ right-margin-here
  613. commands.  \s-2JOVE\s0 has a complicated algorithm
  614. for determining the beginning and end of the paragraph.  In the normal case
  615. \s-2JOVE\s0 will give all the lines the same indent as they currently have,
  616. but if you wish to force a new indent you can supply a numeric argument to
  617. .IQ fill-paragraph
  618. (e.g., by typing C-U ESC J)
  619. and \s-2JOVE\s0 will indent each line to the column
  620. specified by the
  621. .IQ left-margin
  622. variable.  See also the
  623. .IQ left-margin
  624. variable and
  625. .IQ left-margin-here
  626. command.
  627. .dc "fill-region" "Not Bound"
  628. This is like
  629. .IQ fill-paragraph,
  630. except it operates on a region instead of
  631. just a paragraph.
  632. .dc "filter-region" "Not Bound"
  633. This sends the text in the region to a UNIX command, and replaces the
  634. region with the output from that command.  For example, if you are
  635. lazy and don't like to take the time to write properly indented C
  636. code, you can put the region around your C file and
  637. .IQ filter-region
  638. it
  639. through
  640. .IQ cb,
  641. the UNIX C beautifier.  If you have a file that contains
  642. a bunch of lines that need to be sorted you can do that from inside
  643. \s-2JOVE\s0 too, by filtering the region through the
  644. .IQ sort
  645. UNIX command.
  646. Before output from the command replaces the region \s-2JOVE\s0 stores the old
  647. text in the kill ring, so if you are unhappy with the results you can
  648. easily get back the old text with "C-Y".
  649. .dc "find-file" "C-X C-F"
  650. This visits a file into its own buffer and then selects that buffer.
  651. If you've already visited this file in another buffer, that buffer is
  652. selected.  If the file doesn't yet exist, \s-2JOVE\s0 will print "(New file)"
  653. so that you know.
  654. .dc "find-tag" "C-X T"
  655. This finds the file that contains the specified tag.  \s-2JOVE\s0 looks up
  656. tags by default in the "tags" file in the current directory.  You can change
  657. the default tag name by setting the
  658. .IQ tag-file
  659. variable to another
  660. name.  If you specify a numeric argument to this command, you will be
  661. prompted for a tag file.  This is a good way to specify another tag file
  662. without changing the default.  If the tag cannot be found the error is
  663. reported and point stays where it is.
  664. .dc "find-tag-at-point" "Not Bound"
  665. This finds the file that contains the tag that point is currently on.
  666. See
  667. .IQ find-tag.
  668. .dc "first-non-blank" "ESC M"
  669. This moves point back to the indent of the current line.
  670. .dc "foreground-color" "(variable)"
  671. This specifies the foreground color of the screen (PC version only).  The
  672. default is 1, which stands for white.  The attribute used for writing to
  673. the screen is formed by (bg&7)<<4 & (fg&7).
  674. .dc "forward-character" "C-F"
  675. This moves forward over a single character.  If point is at the end of
  676. the line it moves to the beginning of the next one.
  677. .dc "forward-list" "ESC C-N"
  678. This is like
  679. .IQ forward-s-expression
  680. except it moves over lists ONLY.  What this does is search for the next
  681. "(" and then move to the matching ")".  This is useful for when you are
  682. trying to find mismatched parentheses in a program.
  683. .dc "forward-paragraph" "ESC ]"
  684. This moves point forward to the end of the current or next paragraph.
  685. Paragraphs are bounded by lines that begin with a Period or Tab, or by blank
  686. lines; a change in indentation may also signal a break between paragraphs,
  687. except that \s-2JOVE\s0 allows the first line of a paragraph to be indented
  688. differently from the other lines.
  689. .dc "forward-s-expression" "ESC C-F"
  690. This moves point forward over a s-expression.  If the first significant
  691. character after point is "(", this moves past the matching ")".  If the
  692. character begins an identifier, this moves just past it.  This is mode
  693. dependent, so this will move over atoms in LISP mode and C identifiers in C
  694. mode.  \s-2JOVE\s0 also matches "{".
  695. .dc "forward-sentence" "ESC E"
  696. This moves point forward to the end of the current or next sentence.
  697. \s-2JOVE\s0 considers the end of a sentence to be the characters ".", "!" or
  698. "?" followed by a Return, or one or more spaces.
  699. .dc "forward-word" "ESC F"
  700. This moves point forward to the end of the current or next word.
  701. .dc "fundamental-mode" "Not Bound"
  702. This sets the major mode to Fundamental.  This affects what \s-2JOVE\s0
  703. considers as characters that make up words.  For instance,
  704. Single-quote is not part of a word in Fundamental mode, but is in Text
  705. mode.
  706. .dc "gather-numeric-argument" "C-U"
  707. This command is one of two ways to specify a numeric argument to a
  708. command.  It's usually bound to C-U.  Typing C-U once means, Do the next
  709. command 4 times.  Typing C-U twice will do the next command 16 times, and
  710. so on.  If at any point you type a number, then that number will be used
  711. instead of 4.  For instance, C-U 3 5 means do the next command 35 times.
  712. .dc "goto-line" "ESC G"
  713. If a numeric argument is supplied point moves to the beginning of that
  714. line.  If no argument is supplied one is prompted for.
  715. .dc "goto-window-with-buffer" "Not Bound"
  716. This command prompts for a buffer name and then select that buffer.  If
  717. the buffer is currently being displayed in one of the windows, that
  718. window is selected instead.
  719. .dc "grind-s-expr" "Not Bound"
  720. When point is positioned on a "(", this re-indents that LISP expression.
  721. .dc "grow-window" "C-X ^"
  722. This makes the current window one line bigger.  This only works when
  723. there is more than one window and provided there is room to change the
  724. size.
  725. .dc "handle-tab" "Tab"
  726. This handles indenting to the "right" place in C and Lisp mode, and
  727. just inserts itself in Text mode.
  728. .dc "i-search-forward" "Not Bound"
  729. Incremental search.  Like search-forward except that instead of prompting
  730. for a string and searching for that string all at once, it accepts the string
  731. one character at a time.  After each character you type as part of the search
  732. string, it searches for the entire string so far.  When you like what it
  733. found, type the Return key to finish the search.  You can take back a
  734. character with Rubout and the search will back up to the position before
  735. that character was typed.  C-G aborts the search.
  736. .dc "i-search-reverse" "Not Bound"
  737. Incremental search.  Like search-reverse except that instead of prompting
  738. for a string and searching for that string all at once, it accepts the string
  739. one character at a time.  After each character you type as part of the search
  740. string, it searches for the entire string so far.  When you like what it
  741. found, type the Return key to finish the search.  You can take back a
  742. character with Rubout and the search will back up to the position before
  743. that character was typed.  C-G aborts the search.
  744. .dc "i-shell-command" "Not Bound"
  745. This is like
  746. .IQ shell-command
  747. except it lets you continue with your
  748. editing while the command is running.  This is really useful for long
  749. running commands with sporadic output.  See the manual for information
  750. on how to use interactive processes.
  751. .dc "insert-file" "C-X C-I"
  752. This inserts a specified file into the current buffer at point.  Point
  753. is positioned at the beginning of the inserted file.
  754. .dc "internal-tabstop" "(variable)"
  755. The number of spaces \s-2JOVE\s0 should print when it displays a tab character.
  756. The default value is 8.
  757. .dc "interrupt-character" "(variable)"
  758. This is set to the character that interrupts JOVE (with a signal) no matter
  759. what JOVE is doing.  It's main use is for interrupting non-interactive
  760. processes, but it also has uses for debugging.  Unfortunately there is no
  761. way to turn off the interrupt character.
  762. .dc "interrupt-process" "Not Bound"
  763. This sends the interrupt character (usually C-C) to the interactive process
  764. in the current buffer.  This is only for versions of \s-2JOVE\s0 that have the
  765. interactive processes feature.  This only works when you are inside a buffer
  766. that's attached to a process.
  767. .dc "kill-next-word" "ESC D"
  768. This kills the text from point to the end of the current or next word.
  769. .dc "kill-previous-word" "ESC Rubout"
  770. This kills the text from point to the beginning of the current or
  771. previous word.
  772. .dc "kill-process" "Not Bound"
  773. This command prompts for a buffer name or buffer number (just as
  774. select-buffer does) and then sends the process in that buffer a
  775. kill signal (9).
  776. .dc "kill-region" "C-W"
  777. This deletes the text in the region and saves it on the kill ring.
  778. Commands that delete text but save it on the kill ring all have the
  779. word "kill" in their names.  Type "C-Y" to yank back the most recent
  780. kill.
  781. .dc "kill-s-expression" "ESC C-K"
  782. This kills the text from point to the end of the current or next
  783. s-expression.
  784. .dc "kill-some-buffers" "Not Bound"
  785. This goes through all the existing buffers and asks whether or not to kill
  786. them.  If you decide to kill a buffer, and it turns out that the buffer is
  787. modified, \s-2JOVE\s0 will offer to save it first.  This is useful for when \s-2JOVE\s0
  788. runs out of memory to store lines (this only happens on PDP-11's) and you
  789. have lots of buffers that you are no longer using.
  790. .dc "kill-to-beginning-of-sentence" "C-X Rubout"
  791. This kills from point to the beginning of the current or previous
  792. sentence.
  793. .dc "kill-to-end-of-line" "C-K"
  794. This kills from point to the end of the current line.  When point is
  795. at the end of the line the line separator is deleted and the next line
  796. is joined with current one.  If a numeric argument is supplied that
  797. many lines are killed; if the argument is negative that many lines
  798. .IQ before
  799. point are killed; if the argument is zero the text from point
  800. to the beginning of the line is killed.
  801. .dc "kill-to-end-of-sentence" "ESC K"
  802. This kills from point to the end of the current or next sentence.  If a
  803. negative numeric argument is supplied it kills from point to the
  804. beginning of the current or previous sentence.
  805. .dc "left-margin" "(variable)"
  806. This is how far lines should be indented when auto-indent mode is on,
  807. or when the
  808. .IQ newline-and-indent
  809. command is run (usually by typing
  810. LineFeed).  It is also used by fill-paragraph and auto-fill mode.
  811. If the value is zero (the default) then the left margin is determined
  812. from the surrounding lines.
  813. .dc "left-margin-here" "Not Bound"
  814. This sets the
  815. .IQ left-margin
  816. variable to the current position of
  817. point.  This is an easy way to say, "Make the left margin begin here,"
  818. without having to count the number of spaces over it actually is.
  819. .dc "lisp-mode" "Not Bound"
  820. This turns on Lisp mode.  Lisp mode is one of four mutually exclusive major
  821. modes: Fundamental, Text, C, and Lisp.  In Lisp mode, the characters Tab
  822. and ) are treated specially, similar to the way they are treated in C mode.
  823. Also, Auto Indent mode is affected, and handled specially.
  824. .dc "list-buffers" "C-X C-B"
  825. This types out a list containing various information about each buffer.
  826. Right now that list looks like this:
  827. .DS
  828. .ta \w'NO111'u +\w'Lines1'u +\w'Scratch111'u +\w'*1'u +\w'commands.doc111'u
  829. \ (* means the buffer needs saving)
  830. \ NO    Lines    Type        Name    File
  831. \ --    -----    ----        ----    ----
  832. \ 1    1    File        Main    [No file]
  833. \ 2    1    Scratch    *    Minibuf    [No file]
  834. \ 3    519    File    *    commands.doc    commands.doc
  835. .DE
  836. The first column lists the buffer's number.  When \s-2JOVE\s0 prompts for a
  837. buffer name you can either type in the full name, or you can simply
  838. type the buffer's number.  The second column is the number of lines in
  839. the buffer.  The third says what type of buffer.  There are four
  840. types: "File", "Scratch", "Process", "I-Process".  "File" is simply a
  841. buffer that holds a file; "Scratch" is for buffers that \s-2JOVE\s0 uses
  842. internally; "Process" is one that holds the output from a UNIX
  843. command; "I-Process" is one that has an interactive process attached to
  844. it.  The next column contains the name of the buffer.  And the last
  845. column is the name of the file that's attached to the buffer.  In this
  846. case, both Minibuf and commands.doc have been changed but not yet
  847. saved.  In fact Minibuf won't be saved since it's an internal \s-2JOVE\s0
  848. buffer that I don't even care about.
  849. .dc "list-processes" "Not Bound"
  850. This makes a list somewhat like "list-buffers" does, except its
  851. list consists of the current interactive processes.  Right now the list
  852. looks like this:
  853. .DS
  854. .ta \w'shell-111111111111'u +\w'Running1111111111'u
  855. \ Buffer    Status    Pid    Command
  856. \ ------    ------    ---    -------
  857. \ *shell*    Running    18415    shell
  858. \ fgrep     Done    18512   fgrep -n Buffer *.c
  859. .DE
  860. The first column has the name of the buffer to which the process is
  861. attached.  The second has the status of the process; if a process has
  862. exited normally the status is "Done" as in fgrep; if the process
  863. exited with an error the status is "Exit N" where N is the value of
  864. the exit code; if the process was killed by some signal the status is
  865. the name of the signal that was used; otherwise the process is
  866. running.  The last column is the name of the command that is being run.
  867. .dc "mail-check-frequency" "(variable)"
  868. This is how often (in seconds) \s-2JOVE\s0 should check your mailbox for
  869. incoming mail.  See also the
  870. .IQ mailbox
  871. and
  872. .IQ disable-biff
  873. variables.
  874. .dc "mailbox" "(variable)"
  875. Set this to the full pathname of your mailbox.  \s-2JOVE\s0 will look here to
  876. decide whether or not you have any unread mail.  This defaults to
  877. /usr/spool/mail/$USER, where $USER is set to your login name.
  878.